import { MidwayAppInfo } from '@midwayjs/core';
import { join } from 'path';
// import { uploadWhiteList } from '@midwayjs/busboy';

export default (appInfo: MidwayAppInfo) => {
  return {
    keys: '1746672569580_8633',
    koa: {
      port: 5053,
    },
    typeorm: {
      dataSource: {
        default: {
          type: 'postgres',
          host: 'localhost',
          port: 5432,
          username: 'postgres',
          password: 'root',
          database: 'picture',
          synchronize: false,
          logging: true,
          // 指定 TypeORM 应该加载哪些实体类。
          entities: [
            'entity',
            '**/*.entity.{j,t}s', // 通配加后缀匹配
          ],
        },
      },
    },
    cors: {
      origin: 'http://localhost:5054',
      credentials: true,
    },
    validate: {
      validationOptions: {
        allowUnknown: false, // 参数验证 允许未定义属性
      },
    },
    jwt: {
      secret: '1746672569580_8633',
      sign: {
        expiresIn: '1d',
      },
    },
    upload: {
      mode: 'file',
      whitelist: null,
      tmpdir: join(appInfo.appDir, '/temporary'),
      cleanTimeout: 5 * 60 * 1000,
      base64: false,
    },
    busboy: {
      mode: 'file',
      // whiteList: ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp', '.tiff', '.ico'],
      // mimeTypeWhiteList: {
      //   '.jpg': 'image/jpeg',
      //   '.jpeg': 'image/jpeg',
      //   '.png': 'image/png',
      //   '.gif': 'image/gif',
      //   '.bmp': 'image/bmp',
      //   '.webp': 'image/webp',
      //   '.tiff': 'image/tiff', // 可选：支持 TIFF 格式
      //   '.ico': 'image/x-icon', // 可选：支持图标格式
      // },
      //单位为 byte 默认情况下没有限制
      // fileSize: 1024,
      //保存路径
      tmpdir: join(appInfo.appDir, '/temporary'),
      cleanTimeout: 5 * 1000, // 默认值为 5 * 60 * 1000，即上传的文件于 5 分钟 后自动清理，设置为 0 则视为不开启自动清理功能。
    },
    staticFile: {
      dirs: {
        default: {
          prefix: '/public',
          dir: join(appInfo.appDir, '/public'), //dir 表示静态文件存放的位置
        },
      },
    },
  };
}

